package variable;
/*
    成员变量和局部变量的区别
        1. 在类中的位置不一样
            成员变量 : 类中方法外
            局部变量 : 方法内or方法的形参
        2. 作用域不一样
            成员变量 :  整个类中都有效
            局部变量 : 只在其定义的方法内有效
        3. 初始化值不一样:
            成员变量 : 有默认值
                整数 0  浮点数 0.0 字符 '\u0000' 布尔 false 所有的引用数据类型 null
            局部变量 : 没有默认值
        4. 生命周期不一样  成员变量活的比局部变量久
            成员变量 : 随着对象的创建而产生,随着对象的回收而死亡
            局部变量 : 随着方法的调用而产生,随着方法的执行完毕而死亡
        5. 在内存中的位置不同
            成员变量 : 堆中
            局部变量 : 栈中

       因为在类中的位置不同,导致作用域不同和导致在内存中的位置不同;
       因为在内存中的位置不同,导致初始化值不同和生命周期不同;
 */
public class Demo {
    //成员变量
    static int num;//0
    public static void main(String[] args) {
        //局部变量
        int a = 100;

        System.out.println("a = " + a);

        System.out.println("num = " + num);
    }
}
